CFLAGS = -Wall -c -g

race.exe: main.o sprite.o video-graphics.o kbc.o ints.o timer.o kbd_isr.o video-text.o menu.o rtc.o rtc_asm.o
	gcc main.o sprite.o video-graphics.o kbc.o ints.o timer.o kbd_isr.o video-text.o menu.o rtc.o rtc_asm.o -o race.exe

main.o: main.c video-graphics.h sprite.h pixmap.h kbc.h ints.h menu.h
	gcc $(CFLAGS) main.c
	
sprite.o: sprite.c sprite.h video-graphics.h
	gcc $(CFLAGS) sprite.c
	
video-graphics.o: video-graphics.c video-graphics.h utypes.h
	gcc $(CFLAGS) video-graphics.c
	
video-text.o:video-text.c video-text.h utypes.h
	gcc $(CFLAGS) video-text.c
	
kbc.o: kbc.c kbc.h timer.h
	gcc $(CFLAGS) kbc.c
	
kbd_isr.o: kbd_isr.asm
	nasm -t -f coff $< -o $@

timer.o: timer.c timer.h
	gcc $(CFLAGS) timer.c
	
ints.o: ints.c ints.h 
	gcc $(CFLAGS) ints.c
	
rtc.o: rtc.h ints.h utypes.h
	gcc $(CFLAGS) rtc.c ints.c 
	
rtc_asm.o: rtc_asm.asm
	nasm -t -f coff rtc_asm.asm -o rtc_asm.o
	
menu.o: menu.c menu.h utypes.h video-text.h
	gcc $(CFLAGS) menu.c
	
clean:
	rm *.o 
	del race.exe
	